using System;
using System.Collections.Generic;
using ns26;
using ns27;
using Triton.Game.Mono;

namespace Triton.Game.Mapping
{
	[Attribute38("FileUtils")]
	public class FileUtils : MonoClass
	{
		public static string m_applicationPersistentDataPath => MonoClass.smethod_8(TritonHs.MainAssemblyPath, "", "FileUtils", "m_applicationPersistentDataPath");

		public static string m_ExternalDataPath => MonoClass.smethod_8(TritonHs.MainAssemblyPath, "", "FileUtils", "m_ExternalDataPath");

		public static List<char> FOLDER_SEPARATOR_CHARS => MonoClass.smethod_7<Class250<char>>(TritonHs.MainAssemblyPath, "", "FileUtils", "FOLDER_SEPARATOR_CHARS")?.method_25();

		public static string BasePersistentDataPath => MonoClass.smethod_12(TritonHs.MainAssemblyPath, "", "FileUtils", "get_BasePersistentDataPath");

		public static string PublicPersistentDataPath => MonoClass.smethod_12(TritonHs.MainAssemblyPath, "", "FileUtils", "get_PublicPersistentDataPath");

		public static string InternalPersistentDataPath => MonoClass.smethod_12(TritonHs.MainAssemblyPath, "", "FileUtils", "get_InternalPersistentDataPath");

		public static string PersistentDataPath => MonoClass.smethod_12(TritonHs.MainAssemblyPath, "", "FileUtils", "get_PersistentDataPath");

		public static string BaseExternalDataPath => MonoClass.smethod_12(TritonHs.MainAssemblyPath, "", "FileUtils", "get_BaseExternalDataPath");

		public static string ExternalDataPath => MonoClass.smethod_12(TritonHs.MainAssemblyPath, "", "FileUtils", "get_ExternalDataPath");

		public static string CachePath => MonoClass.smethod_12(TritonHs.MainAssemblyPath, "", "FileUtils", "get_CachePath");

		public FileUtils(IntPtr address, string className)
			: base(address, className)
		{
		}

		public FileUtils(IntPtr address)
			: this(address, "FileUtils")
		{
		}

		public static string MakeSourceAssetPath(string path)
		{
			return MonoClass.smethod_13(TritonHs.MainAssemblyPath, "", "FileUtils", "MakeSourceAssetPath", new Class276.Enum20[1] { Class276.Enum20.String }, path);
		}

		public static string MakeMetaPathFromSourcePath(string path)
		{
			return MonoClass.smethod_12(TritonHs.MainAssemblyPath, "", "FileUtils", "MakeMetaPathFromSourcePath", path);
		}

		public static string MakeLocalizedPathFromSourcePath(Locale locale, string enUsPath)
		{
			return MonoClass.smethod_12(TritonHs.MainAssemblyPath, "", "FileUtils", "MakeLocalizedPathFromSourcePath", locale, enUsPath);
		}

		public static bool IsForeignLocaleSourcePath(string path)
		{
			return MonoClass.smethod_14<bool>(TritonHs.MainAssemblyPath, "", "FileUtils", "IsForeignLocaleSourcePath", new object[1] { path });
		}

		public static string StripLocaleFromPath(string path)
		{
			return MonoClass.smethod_12(TritonHs.MainAssemblyPath, "", "FileUtils", "StripLocaleFromPath", path);
		}

		public static string GetAssetPath(string fileName, bool useAssetBundleFolder)
		{
			return MonoClass.smethod_12(TritonHs.MainAssemblyPath, "", "FileUtils", "GetAssetPath", fileName, useAssetBundleFolder);
		}

		public static string GetPluginPath(string fileName)
		{
			return MonoClass.smethod_12(TritonHs.MainAssemblyPath, "", "FileUtils", "GetPluginPath", fileName);
		}

		public static IntPtr LoadPlugin(string fileName, bool handleError)
		{
			return MonoClass.smethod_14<IntPtr>(TritonHs.MainAssemblyPath, "", "FileUtils", "LoadPlugin", new object[2] { fileName, handleError });
		}

		public static string GetOnDiskCapitalizationForFile(string filePath)
		{
			return MonoClass.smethod_13(TritonHs.MainAssemblyPath, "", "FileUtils", "GetOnDiskCapitalizationForFile", new Class276.Enum20[1] { Class276.Enum20.String }, filePath);
		}

		public static string GetOnDiskCapitalizationForDir(string dirPath)
		{
			return MonoClass.smethod_13(TritonHs.MainAssemblyPath, "", "FileUtils", "GetOnDiskCapitalizationForDir", new Class276.Enum20[1] { Class276.Enum20.String }, dirPath);
		}

		public static bool SetFolderWritableFlag(string dirPath, bool writable)
		{
			return MonoClass.smethod_14<bool>(TritonHs.MainAssemblyPath, "", "FileUtils", "SetFolderWritableFlag", new object[2] { dirPath, writable });
		}

		public static bool SetFileWritableFlag(string path, bool setWritable)
		{
			return MonoClass.smethod_14<bool>(TritonHs.MainAssemblyPath, "", "FileUtils", "SetFileWritableFlag", new object[2] { path, setWritable });
		}

		public static string GetMD5(string fileName)
		{
			return MonoClass.smethod_12(TritonHs.MainAssemblyPath, "", "FileUtils", "GetMD5", fileName);
		}

		public static string GetMD5FromString(string buf)
		{
			return MonoClass.smethod_12(TritonHs.MainAssemblyPath, "", "FileUtils", "GetMD5FromString", buf);
		}
	}
}
